package cn._2dland.utils
{
	import cn._2dland.comment.CommentObject;

	public final class CommentUtils
	{
		/** 文本滤镜：不使用 */
		public static const FILTER_NONE:int = 0;
		/** 文本滤镜：边框 */
		public static const FILTER_BORDER:int = 1;
		/** 文本滤镜：阴影 */
		public static const FILTER_SHADOW:int = 2;

		/** 弹幕效果：不使用 */
		public static const EFFECT_NONE:int = 0;
		/** 弹幕效果：淡入/淡出 */
		public static const EFFECT_FADE:int = 1;
		/** 弹幕效果：展开/收缩 */
		public static const EFFECT_IRIS:int = 2;
		/** 弹幕效果：擦入/擦出 */
		public static const EFFECT_WIPE:int = 3;
		/** 弹幕效果：遮帘效果 */
		public static const EFFECT_BLINDS:int = 4;
		/** 弹幕效果：棋盘效果 */
		public static const EFFECT_DISSOLVE:int = 5;

		/** 弹幕模式：自定义 */
		public static const MODE_CUSTOM:int = 0;
		/** 弹幕模式：顶端固定 */
		public static const MODE_FIXED_TOP:int = 1;
		/** 弹幕模式：底端固定 */
		public static const MODE_FIXED_BOTTOM:int = 2;
		/** 弹幕模式：向上飘移 */
		public static const MODE_DRIFT_UP:int = 3;
		/** 弹幕模式：向下飘移 */
		public static const MODE_DRIFT_DOWN:int = 4;
		/** 弹幕模式：向左飘移 */
		public static const MODE_DRIFT_LEFT:int = 5;
		/** 弹幕模式：向右飘移 */
		public static const MODE_DRIFT_RIGHT:int = 6;

		/** 自定义运动方向：静止 */
		public static const ANGLE_NONE:int = 0;
		/** 自定义运动方向：左上 */
		public static const ANGLE_LEFT_TOP:int = 1;
		/** 自定义运动方向：中上 */
		public static const ANGLE_CENTER_TOP:int = 2;
		/** 自定义运动方向：右上 */
		public static const ANGLE_RIGHT_TOP:int = 3;
		/** 自定义运动方向：左中 */
		public static const ANGLE_LEFT_MIDDLE:int = 4;
		/** 自定义运动方向：中心 */
		public static const ANGLE_CENTER_MIDDLE:int = 5;
		/** 自定义运动方向：右中 */
		public static const ANGLE_RIGHT_MIDDLE:int = 6;
		/** 自定义运动方向：左下 */
		public static const ANGLE_LEFT_BOTTOM:int = 7;
		/** 自定义运动方向：中下 */
		public static const ANGLE_CENTER_BOTTOM:int = 8;
		/** 自定义运动方向：右下 */
		public static const ANGLE_RIGHT_BOTTOM:int = 9;

		/** 最大弹幕数 */
		public static const MAX_COMMENT_COUNT:Number = 1000;
		/** 弹幕刷新周期 */
		public static const REFRESH_INTERVAL:Number = 10;

		public function CommentUtils() {}

		public static function parseCommentXML(cmntXML:XML):CommentObject {
			var cmntObj:CommentObject = new CommentObject();

			if(cmntXML != null){
				cmntObj.playTime = cmntXML.playTime;
				cmntObj.sendTime = cmntXML.sendTime;

				cmntObj.mode = cmntXML.@mode;
				cmntObj.color = cmntXML.@color;
				cmntObj.fontSize = cmntXML.@fontSize;

				cmntObj.showEffect = cmntXML.@showEffect;
				cmntObj.hideEffect = cmntXML.@hideEffect;
				cmntObj.fontEffect = cmntXML.@fontEffect;

				cmntObj.locked = (cmntXML.@isLocked == 1);

				cmntObj.rawMessage = cmntXML.message;
			}

			return cmntObj;
		}
	}
}